HAL GPIO constants migration

This section provides information about the HAL GPIO constants migration.

HAL GPIO pins constants

HAL1

HAL2

#define GPIO_PIN_0
#define GPIO_PIN_1
#define GPIO_PIN_2
#define GPIO_PIN_3
#define GPIO_PIN_4
#define GPIO_PIN_5
#define GPIO_PIN_6
#define GPIO_PIN_7
#define GPIO_PIN_8
#define GPIO_PIN_9
#define GPIO_PIN_10
#define GPIO_PIN_11
#define GPIO_PIN_12
#define GPIO_PIN_13
#define GPIO_PIN_14
#define GPIO_PIN_15
#define GPIO_PIN_ALL
#define HAL_GPIO_PIN_0
#define HAL_GPIO_PIN_1
#define HAL_GPIO_PIN_2
#define HAL_GPIO_PIN_3
#define HAL_GPIO_PIN_4
#define HAL_GPIO_PIN_5
#define HAL_GPIO_PIN_6
#define HAL_GPIO_PIN_7
#define HAL_GPIO_PIN_8
#define HAL_GPIO_PIN_9
#define HAL_GPIO_PIN_10
#define HAL_GPIO_PIN_11
#define HAL_GPIO_PIN_12
#define HAL_GPIO_PIN_13
#define HAL_GPIO_PIN_14
#define HAL_GPIO_PIN_15
#define HAL_GPIO_PIN_ALL

Related concept: Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).


HAL GPIO mode constants

HAL1

HAL2

The GPIO mode is configured through predefined constants.

The GPIO mode and output type are specified independently using separate enumerations: hal_gpio_mode_t and hal_gpio_output_t, respectively.



#define  GPIO_MODE_INPUT
#define  GPIO_MODE_OUTPUT_PP
#define  GPIO_MODE_OUTPUT_OD
#define  GPIO_MODE_AF_PP
#define  GPIO_MODE_AF_OD
#define  GPIO_MODE_ANALOG
typedef enum
{
  HAL_GPIO_MODE_INPUT,
  HAL_GPIO_MODE_OUTPUT,

  HAL_GPIO_MODE_ALTERNATE,

  HAL_GPIO_MODE_ANALOG
} hal_gpio_mode_t;

typedef enum
{
  HAL_GPIO_OUTPUT_PUSHPULL,
  HAL_GPIO_OUTPUT_OPENDRAIN
} hal_gpio_output_t;

Related concepts:


HAL GPIO trigger mode constants

HAL1

HAL2

The GPIO trigger mode is configured through predefined constants.

The EXTI mode and trigger are defined separately using distinct enumerations hal_exti_mode_t and hal_exti_trigger_t in HAL EXTI driver.



#define  GPIO_MODE_IT_RISING
#define  GPIO_MODE_EVT_RISING
#define  GPIO_MODE_IT_FALLING
#define  GPIO_MODE_EVT_FALLING
#define  GPIO_MODE_IT_RISING_FALLING
#define  GPIO_MODE_EVT_RISING_FALLING
typedef enum
{
  HAL_EXTI_TRIGGER_NONE,
  HAL_EXTI_TRIGGER_RISING,

  HAL_EXTI_TRIGGER_FALLING,

  HAL_EXTI_TRIGGER_RISING_FALLING

} hal_exti_trigger_t;

typedef enum
{
  HAL_EXTI_MODE_INTERRUPT,
  HAL_EXTI_MODE_EVENT
  HAL_EXTI_MODE_INTERRUPT_EVENT
} hal_exti_mode_t;

Related concept: Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).


HAL GPIO speed constants

HAL1

HAL2



#define  GPIO_SPEED_FREQ_LOW
#define  GPIO_SPEED_FREQ_MEDIUM
#define  GPIO_SPEED_FREQ_HIGH
#define  GPIO_SPEED_FREQ_VERY_HIGH
typedef enum
{
  HAL_GPIO_SPEED_FREQ_LOW,
  HAL_GPIO_SPEED_FREQ_MEDIUM,
  HAL_GPIO_SPEED_FREQ_HIGH,
  HAL_GPIO_SPEED_FREQ_VERY_HIGH
} hal_gpio_speed_freq_t;

Related concepts:


HAL GPIO pull constants

HAL1

HAL2



#define  GPIO_NOPULL
#define  GPIO_PULLUP
#define  GPIO_PULLDOWN
typedef enum
{
  HAL_GPIO_PULL_NO,
  HAL_GPIO_PULL_UP,
  HAL_GPIO_PULL_DOWN
} hal_gpio_pull_t;

Related concepts:


HAL GPIO pin security constants

HAL1

HAL2



#define  GPIO_PIN_NSEC
#define  GPIO_PIN_SEC
typedef enum
{
  HAL_GPIO_NSEC,
  HAL_GPIO_SEC
} hal_gpio_sec_attr_t;

Related concepts:


HAL GPIOEx alternate function selection constants

HAL1

HAL2

#define GPIO_AF0_RTC_50HZ
#define GPIO_AF0_MCO
        .
        .
#define GPIO_AF8_LPUART1
#define GPIO_AF8_UART4
        .
        .
#define GPIO_AF15_EVENTOUT
#define HAL_GPIO_AF0_RTC_REFIN
#define HAL_GPIO_AF0_MCO
        .
        .
#define HAL_GPIO_AF8_LPUART1
#define HAL_GPIO_AF8_UART4
        .
        .
#define HAL_GPIO_AF15_EVENTOUT

Related concepts: